import { request } from '../../request/index'
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({
    /*页面的初始数据*/
    data: {
        tabs:[
            {
                id:0,
                value:'综合',
                isActive:true,
            },{
                id:1,
                value:'销量',
                isActive:false,
            },{
                id:2,
                value:'价格',
                isActive:false,
            }
        ],
        goodsList:[],
        /* 参数为是否倒序 */
        isReserve:false
    },
    /* 请求参数放在data外 */
    queryInfo:{
        query:'',
        cid:"",
        pagenum:1,
        pagesize:10
    },
    total:0,
    /*生命周期函数--监听页面加载*/
    onLoad: function (options) {
        this.queryInfo.cid = options.cid||""
        this.queryInfo.query = options.query||""
        this.getGoodsList()
    },
    async getGoodsList(){
        const res = await request({
            url:"/goods/search",
            data:this.queryInfo
        })
        // console.log(res);
        /* 计算总页数 */
        this.total = Math.ceil(res.total/this.queryInfo.pagenum) 
        /* 函数中设置data参数要用以下方法 */
        // this.goodsList = res.goods 不行的
        this.setData({
            /* 上拉加载后物品总数需要增加 ,新增物品怎么来，直接获取页面，加上之前的数据就行*/
            goodsList:[...this.data.goodsList,...res.goods]
        })
        /* 刷新去除 */
        wx.stopPullDownRefresh()
    },
    /* 标题点击事件，从子组件来 */
    handletabsItemChange(e){
        /* 获取被点击的标题索引 */
        const {index} = e.detail
        const {tabs} = this.data
        const {isReserve} = this.data
        /* 修改原数组 */
        tabs.forEach((v,i) => {i===index?v.isActive=true:v.isActive=false});
        /* 赋值到data中 */
        this.setData({
            tabs,
            isReserve:!isReserve
        })
    },
    /**页面上拉触底事件的处理函数*/
    onReachBottom: function () {
        /* 总页数 */
        if (this.total<=this.queryInfo.pagenum) {
            wx.showToast({
                title: '没有数据了',
            });
        }else{
            this.queryInfo.pagenum++
            this.getGoodsList()
        }
    },
    /**页面相关事件处理函数--监听用户下拉动作*/
    activeTime : 0,
    onPullDownRefresh: function () {
        /* 节流，下拉刷新后几秒内不再刷新 */
        let current = Date.now()
        if (current-this.activeTime<=8000) {
            wx.stopPullDownRefresh()
            return
        }else{
            this.setData({
                goodsList:[]
            })
            this.queryInfo.pagenum=1
            this.getGoodsList()
            this.activeTime = Date.now()
        }
    }
})